package cola;

import java.util.*;

public class Queue implements IQueue {
	private LinkedList queue;

	public Queue() {
		queue = new LinkedList();
	}

	/* Devuelve el primer elemento de la lista */
	public Object front() throws EmptyQueueException {
		if (queue.size() == 0)
			throw new EmptyQueueException("Vacía");
		return queue.getFirst();
	}

	public Object enqueue(Object element) {
		queue.add(element);
		return element;
	}

	/* Devuelve el primer elemento de la lista */
	public Object dequeue() throws EmptyQueueException {

		if (queue.size() == 0)
			throw new EmptyQueueException("Vacia");
		return queue.removeFirst();
	}

	/* Devuelve el número de elementos en la lista */
	public int size() {
		return queue.size();
	}

	public boolean empty() {
		return (size() == 0);
	}

	public void clear() {
		queue.clear();
	}
}
